﻿//检查邮箱
function isEmail(val, title, id) {
    if (val != "") {
        var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$/;
        if (!myreg.test(val)) {
            alert(title + "格式不正确!");
            $("#" + id).focus();
            document.getElementById(id).createTextRange().select();
        }
    }
}
//验证只能输入字母和汉字
function IsChinese(str, title, id) {
    // str.charCodeAt(i)表示取出str字符串里的第i个字符的Unicode编码；i为零开头
    //a的编码是97,z的编码是122
    // A的编码是65，Z的编码是90
    str = str.replace(/\s+/g, "");
    var sTmp;
    if (str.length = 0) {
        return false;
    }
    for (var i = 0; i < str.length; i++) {
        sTmp = str.substring(i, i + 1);
        if ((str.charCodeAt(i) > 96 && str.charCodeAt(i) < 123) || (str.charCodeAt(i) > 64 && str.charCodeAt(i) < 91) || (str.charCodeAt(i) > 256)) {

        }
        else {
            alert(title + "只能为汉字或字母,且不能包含非法字符!");
            $("#" + id).focus();
            document.getElementById(id).createTextRange().select();
            return;
        }
    }
}
//验证客户名只能输入英文、数字或汉字
var ValidateCustomerName = function (val, title, id, showId) {
    var reg = /^(\w|[\u4E00-\u9FA5])*$/;
    if (arr = val.match(reg)) {
        return true;
    }
    else {
        alert(title + "只允许输入英文、数字或汉字,\n请检查是否前后有空格或者其他符号");
        $("#" + id).focus();
        document.getElementById(id).createTextRange().select();
        return false;
    }
}
//验证只能输入汉字
function CheckChinese(v, title, id) {
    if (v != v.replace(/[^\u4E00-\u9FA5]/g, '')) {
        alert(title + "只能输入汉字!");
        $("#" + id).focus();
        document.getElementById(id).createTextRange().select();
        return;
    }
}
//验证手机号码
function IsMobile(val, title, id) {
    if (val != "") {
        var myreg = /^(?:13\d|15[89]|18\d)-?\d{5}(\d{3}|\*{3})$/;
        if (!myreg.test(val)) {
            alert(title + "格式不正确!");
            $("#" + id).focus();
            document.getElementById(id).createTextRange().select();
        }
    }
}
//文本框最多字数控制
function showSetNum(id, showId, num) {
    try {
        var txtId = $("#" + id).val();
        if (txtId.length > num) {
            $("#" + id).val($("#" + id).val().substr(0, num))
            document.getElementById(showId).innerHTML = "&nbsp;<font color='red'>您输入的字数过多，超过的部分已被截取掉</font>";
            $("#" + id).focus();
            return;
        } else {
            document.getElementById(showId).innerHTML = "&nbsp;您已输入 <font color='red'>" + txtId.length + " </font>个字，还能输入 <font color='red'>" + (num - txtId.length) + "</font> 个字";
        }
    } catch (e) {
        alert(e);
    }
}
//设置文本框为空
function showSetNull(showId) {
    try {
        document.getElementById(showId).innerHTML = "";
    } catch (e) {
        alert(e);
    }
}
//验证电话
function IsTel(val, title, id) {
    if (val != "") {
        var myreg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
        if (!myreg.test(val)) {
            alert(title + "格式不正确!");
            $("#" + id).focus();
            document.getElementById(id).createTextRange().select();
        }
    }
}
//验证手机(超过11位弹出提示框)
var CheckTel = function (val, title, id, nexid) {
    var vLength = $("#" + id).val().length;
    $("#" + nexid).focus();
    return;
}
//控制富文本框输入字数限制
/*var InputTextCount = function (id, count) {
    var curLength = $("#" + id).val().length;
    if (curLength >= count) {
        var num = $("#" + id).val().substr(0, count - 10);
        $("#" + id).val(num);
        alert("超过字数限制，多出的字将被截断!");
    }
    else {
        //$("#textCount").text(4 - $("#ManagerQuestion").val().length)
    }
}*/
//验证不能全部为数字
var NotInputFullNumber = function (val, title, id) {
    var reg = /^[1-9]\d/;
    if (reg.test(val)) {
        alert(title + "不能全为数字!");
        $("#" + id).focus();
        document.getElementById(id).createTextRange().select();
    }
}
//验证输入日期(单个日期判断)
var InputDate = function (val, type, id) {
    if (type == "0") { //年
        if (val == "0000" || val == "0001") {
            alert("请输入正确的年份!");
            $("#" + id).focus();
            document.getElementById(id).createTextRange().select();
            return;
        }
    } else if (type == "1") { //月
        if (val > 12) {
            alert("请输入正确的月份!");
            $("#" + id).focus();
            document.getElementById(id).createTextRange().select();
            return;
        }
    } else if (type == "2") { //日
        if (val > 31) {
            alert("请输入正确的日期!");
            $("#" + id).focus();
            document.getElementById(id).createTextRange().select();
            return;
        }
    }
}
//验证非法字符
var InputTextChar = function (val, title, id) {
    var p = new Array("﹉", "＃", "＠", "＆", "＊", "※", "§", "〃", "№", "〓", "○",
  "●", "△", "▲", "◎", "☆", "★", "◇", "◆", "■", "□", "▼", "▽",
  "㊣", "℅", "ˉ", "￣", "＿", "﹍", "﹊", "﹎", "﹋", "﹌", "﹟", "﹠",
  "﹡", "♀", "♂", "?", "⊙", "↑", "↓", "←", "→", "↖", "↗", "↙",
  "↘", "┄", "—", "︴", "﹏", "（", "）", "︵", "︶", "｛", "｝", "︷",
  "︸", "〔", "〕", "︹", "︺", "【", "】", "︻", "︼", "《", "》", "︽",
  "︾", "〈", "〉", "︿", "﹀", "「", "」", "﹁", "﹂", "『", "』", "﹃",
  "﹄", "﹙", "﹚", "﹛", "﹜", "﹝", "﹞", "\"", "〝", "〞", "ˋ",
  "ˊ", "≈", "≡", "≠", "＝", "≤", "≥", "＜", "＞", "≮", "≯", "∷",
  "±", "＋", "－", "×", "÷", "／", "∫", "∮", "∝", "∧", "∨", "∞",
  "∑", "∏", "∪", "∩", "∈", "∵", "∴", "⊥", "∥", "∠", "⌒", "⊙",
  "≌", "∽", "√", "≦", "≧", "≒", "≡", "﹢", "﹣", "﹤", "﹥", "﹦",
  "～", "∟", "⊿", "∥", "㏒", "㏑", "∣", "｜", "︱", "︳", "|", "／",
  "＼", "∕", "﹨", "¥", "€", "￥", "£", "®", "™", "©", "，", "、",
  "。", "．", "；", "：", "？", "！", "︰", "…", "‥", "′", "‵", "々",
  "～", "‖", "ˇ", "ˉ", "﹐", "﹑", "﹒", "·", "﹔", "﹕", "﹖", "﹗",
  "-", "&", "*", "#", "`", "~", "+", "=", "(", ")", "^", "%",
  "$", "@", ";", ",", ":", "'", "\\", "/", ".", ">", "<",
  "?", "!", "[", "]", "{", "}");
    for (var j = 0; j < p.length; j++) {
        if (val.indexOf(p[j]) != -1) {
            alert(title + "不能包含非法字符!");
            $("#" + id).focus();
            document.getElementById(id).createTextRange().select();
            return false;
        }
    }
}
//验证输入错误闪动
function InputError(id, times) {
    var obj = $("#" + id);
    obj.css("background-color", "#F6CECE");
    times = times - 1;
    setTimeout("InputNormal('" + id + "'," + times + ")", 150);
    $("#" + id).focus();
} 
function InputNormal(id, times) {
    var obj = $("#" + id);
    obj.css("background-color", "#FFF");
    if (times < 0) {
        return;
    }
    times = times - 1;
    setTimeout("InputError('" + id + "'," + times + ")", 150);
}


//验证身份证
function isIdCardNo(num) 
{
    var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
    var error;
    var varArray = new Array();
    var intValue;
    var lngProduct = 0;
    var intCheckDigit;
    var intStrLen = num.length;
    var idNumber = num;    
    // initialize
    if ((intStrLen != 15) && (intStrLen != 18)) {
        //error = "输入身份证号码长度不对！";
        //alert(error);
        //frmAddUser.txtIDCard.focus();
        return false;
    }    
    // check and set value
    for(i=0;i<intStrLen;i++) {
        varArray[i] = idNumber.charAt(i);
        if ((varArray[i] < '0' && varArray[i] > '9') && (i != 17)) {
            //error = "错误的身份证号码！.";
            //alert(error);
            //frmAddUser.txtIDCard.focus();
            return false;
        } else if (i < 17) {
            varArray[i] = varArray[i]*factorArr[i];
        }
    }
    if (intStrLen == 18) {
        //check date
        var date8 = idNumber.substring(6,14);
        if (checkDate(date8) == false) {
            //error = "身份证中日期信息不正确！.";
            //alert(error);
            return false;
        }        
        // calculate the sum of the products
        for(i=0;i<17;i++) {
            lngProduct = lngProduct + varArray[i];
        }        
        // calculate the check digit
        intCheckDigit = 12 - lngProduct % 11;
        switch (intCheckDigit) {
            case 10:
                intCheckDigit = 'X';
                break;
            case 11:
                intCheckDigit = 0;
                break;
            case 12:
                intCheckDigit = 1;
                break;
        }        
        // check last digit
        if (varArray[17].toUpperCase() != intCheckDigit) {
            //error = "身份证效验位错误!...正确为： " + intCheckDigit + ".";
            //alert(error);
            return false;
        }
    } 
    else{        //length is 15
        //check date
        var date6 = idNumber.substring(6,12);
        if (checkDate(date6) == false) {
            //alert("身份证日期信息有误！.");
            return false;
        }
    }
    //alert ("Correct.");
    return true;
}

//禁止鼠标Backspace键
function PreventBSK() {
    var bskEventCancel = false;
    var _EVENT = window.event;
    bskEventCancel = _EVENT && _EVENT.altKey && (_EVENT.keyCode == 8 || _EVENT.keyCode == 37 || _EVENT.keyCode == 39);
    if (_EVENT.keyCode == 8) {
        var tagName = _EVENT.srcElement.tagName.toUpperCase();
        if (tagName == "TEXTAREA" || tagName == "INPUT")//文本操作不受影响
            bskEventCancel = _EVENT.srcElement.readOnly;
        else
            bskEventCancel = true;
    }
    _EVENT.cancelBubble = bskEventCancel;
    _EVENT.returnValue = !bskEventCancel;
    return !bskEventCancel;
}